1. Field of the Invention
The present invention relates generally to a parallel execution system for job steps in a computer system. More specifically, the invention relates to a job steps parallel execution system for a computer system which is constituted of one or more host computers.
2. Description of the Related Art
In the recent years, computer systems are growing to have greater scale and wider varieties. Accordingly, constructions of host computers constituting the computer system and utilities of the jobs are becoming more and more complicated. The conventional multi-programming is intended to efficiently use the performances of central processing units (CPUs) and input/output devices of the host computer to improve the throughput of the computer system. This can be achieved by executing a plurality of jobs simultaneously or by modifying specific programs for multi-task operation.
On the other hand, in case of the computer system constituted by a plurality of host computers, the processes required for the computer system can be distributed to a plurality of host computers so as to reduce the load on each individual computer. By distribution of the processes, processing performance of the overall computer system is improved and whereby the turn around period can be improved. Furthermore, special resources, such as a high speed arithmetic feature owned by a specific host computer among a plurality of host computers can be effectively used.
One example of the conventional load distribution type computer system constituted by a plurality of host computers has been disclosed in Japanese Unexamined Patent Publication No. 62-245361. The load distribution system disclosed in the above-identified publication makes analysis of load conditions of respective host computers so that a job is transferred to the host computer having low load.
Another example of the conventional load distribution type computer system is disclosed in Japanese Unexamined Patent Publication No. 2-224169. In the load distribution system disclosed in the above identified publication, the computer system automatically divides a specific program into tasks and selects computers having lower load to execute the task.
A still further conventional load distribution type computer system which is constituted by a plurality of host computer and uses specific resources of a specific computer, is disclosed in Japanese Unexamined Patent Publication No. 63-85855. The disclosed load distribution type computer system utilizing the specific computer generates a job to be executed by another computer for a specific job step utilizes other specific computer having the specific resource, and returns to the original job after completion of the generated job.
As set forth above, multi-programming in the single computer is conventionally performed by executing a plurality of jobs simultaneously and by effecting multi-task operation with the specific program. When a process is to be executed, including an aggregate of job steps not depending upon the process and having one object through overall steps, there are only ways to sequentially execute the steps as one job, to execute them as a job network with a plurality of jobs by dividing the steps not depending upon the process as mutually independent plurality of jobs, or to sequentially execute them by manually synchronizing jobs.
When a process is to be executed, the process including an aggregate of job steps not depending upon the process and having one object through overall steps, a job control statement for controlling execution of the job becomes complicated when handling problems so as to make management, such as modification, correction and so forth cumbersome.
On the other hand, even in the conventional load distribution system in the computer system comprising a plurality of host computers, it is not possible to execute a plurality of steps in the process including an aggregate of job steps not depending upon the process and having one object through overall steps, simultaneously by a plurality of host computers. Therefore, it is a typical approach to execute per jobs by assigning respective unit jobs to the host computers forming the computer system or to execute them by dividing the steps not depending upon the process into a plurality of mutually independent jobs and by assigning respective job to a plurality of host computers. Namely, it has not been possible to execute a plurality of steps of a single job with a plurality of host computers.
Furthermore, when the process is executed by dividing the steps not depending upon the process into a plurality of independent jobs and assigning the divided plurality of jobs to a plurality of host computers, even if the executed step is abnormally terminated, other steps which are simultaneously executed cannot be stopped as no co-relation is established between the jobs. This continues unnecessary execution of the other simultaneously executed steps, which causes wasting of resources.